# s = ["asdasdasd","asas","asdasd"]
# sum = 0
# for i in s:
#     sum = sum + 1
# print(sum)
# l1 = [1, 3, 2, 23, 3, 1, 3]


# def new_len():
#     count = 0
#     for i in l1:
#         count = count + 1
#     print(count)
#
#
# for i in range(4):
#     print("aa")
# for i in range(2):
#     new_len()


# l1=[1,3,3,1,6]
# def new_len():
#     count=0
#     for i in l1:
#         count+=1
#     print(count)
# # new_len()
#     print("asd")
#     print("zcx")
#     if True == True:
#         return
#     print("123")
#     print("321")
# print(new_len())
# new_len()
#                        return  第一个作用，结束函数。


# l1=[1,2,3,4,5]
# def new_len():
#     count=0
#     for i in l1:
#         count+=1
#     return
#     # print(count)
# # new_len()
# print(new_len())


# def new_len(a):
#     count = 0
#     for i in a:
#         count += 1
#     return count
#
#
# l1 = [1, 2, 3, 5, 4]
# l2 = "1235512"
# print(new_len(l1))  # 函数的调用者:参数是实参
# print(new_len(l2))  # 同上


# def meet(sex, age, job):
#     print("左划一下")
#     print("右划一下")
#     print(f"寻找性别{sex},年龄{age},职业{job}")
#     print("聊天")
#     print("约吗？")
#     print("约。。。。")


# meet("女", "18-25", "老师")


# def max(a, b):
#     return a if a > b else b
# ret=max(100,200)
# print(ret)

# def meet(sex, age, job):
#     print("左划一下")
#     print("右划一下")
#     print(f"寻找性别{sex},年龄{age},职业{job}")
#     print("聊天")
#     print("约吗？")
#     print("约。。。。")
# meet(sex="女",age=78,job="学生")

# def meet(sex, age, job):
#     print("左划一下")
#     print("右划一下")
#     print(f"sex{sex},age{age},job{job}")
#     print("聊天")
#     print("开房")
#
#
# meet("男", 95, job="老板")

# 获取任意一个字符串的个数
# s1="asdasdadfa"
# count=0
# for i in s1:
#     count+=1
# print(count)
# s1="asdasgasd"
# count=0
# for i in s1:
#     count+=1
# print(count)

# 获取列表的元素个数
# l1=[1,3,3,4,5,6,7,8]
# count=0
# for i in l1:
#     count+=1
# print(count)

# 面向过程编程    1，代码重复   2，代码可读性不高。

# 初识函数
# l1=[1,2,3,4,5,1,123,123]
# def l1_len():
#     count=0
#     for i in l1:
#         count+=1
#     print(count)
# l1_len()
# 函数：函数是以功能为导向，一个函数封装一个功能。。。。
# 函数减少了代码的重复性，增强了代码的可读性。

# l1=[1,2,3,5]
# def l1_len():
#     count=0
#     for i in l1:
#         count+=1
#     print(count)
# l1_len()
# def 关键字：定义一个函数，紧跟一个空格。
#   l1_len函数名字：与变量命名规范一致，一定要具有可描述性。
#  () ：结构需要，传参使用。
# tab键：四个空格，缩进。函数体

# l1 = [1, 1, 3, 4]
# def l1_len():
#     count = 0
#     for i in l1:
#         count += 1
#     print(count)
# l1_len()
# l1_len()# 函数名（） 函数的执行者，调用者

# l1 = [1, 3, 3, 5, 12]
# def new_len():
#     count = 0
#     for i in l1:
#         count += 1
#     print(count)
#     for n in range(4):
#         print(111)
#         return    #只是执行一次，下面不论多少都不执行
#     for s in range(5):
#         print(222)
# new_len()

# s1="asdafagad"
# c=len(s1)
# print(c)
# print(len(s1))

#  函数return
# l1=[1,3,3,5.132]
# def new_len():
#     count=0
#     for i in l1:
#         count+=1
#     print(count)
#     print(111)
#     print(222)
# # new_len()
#     if count>5:
#         return
#     print(333)
#     print(444)
# # print(new_len())
# new_len()
#                       return第一个作用就是结束函数。

# l1=[1,2,3,5]
# def new_len():
#     count=0
#     for i in l1:
#         count+=1
#     print(count)
#     return count     # return第二个作用：给函数的执行者返回具体的值。
# c=new_len()
# print(c)
#   return第二个作用：给函数的执行者返回具体的值
#      1.函数中没有return或者只写一个return，函数的执行者得到的是None。
#      2.函数中return后面是单个值，函数的执行着得到的是这个值（比改变这个值的类型。）
#      3.函数中return后面是多个值，函数的执行者的到的是一个元祖。

# 函数的传参：函数的拓展性。

# def new_len(a):  # 定义函数时：参数：形参。
#     count = 0
#     for i in a:
#         count += 1
#     return count
#
# l1 = [1, 2, 3]
# s1 = 'fdsjaklsfjgfds'
# print(new_len(l1)) # 函数的调用者：参数 实参。
# print(new_len(s1)) # 函数的调用者：参数 实参。
# print(len(s1))

#   实参角度：
# 1.位置参数，从左到右，按照顺序，一一对应。
# def meet(sex,age,job):
#     print("左划")
#     print("右划")
#     print(f'寻找性别{sex}，年龄{age}，工作{job}')
#     print('约吗')
#     print('约')
#     print('开房走着')
# meet('变态男','46-78','僵尸扮演者')

# 写一个函数，接收两个数字的参数，将较大的数字返回。
# def comp(a, b):
#     if a > b:
#         return a
#     else:
#         return b
# ret = comp(200, 500)  # 必须接收
# print(ret)

# def comp(a,b):
#     return a if a >b else b     # 三元运算
# ret=comp(24235223124,123235362534245)
# print(ret)

#  2.关键字参数：一一对应
# def meet(sex,age,job):
#     print("左划")
#     print("右划")
#     print(f'寻找性别{sex}，年龄{age}，工作{job}')
#     print('约吗')
#     print('约')
#     print('开房走着')
# meet(sex='变态男',age='46-78',job='僵尸扮演者')

#   3.混合参数：关键字参数一定要在位置参数后面，一一对应。
# def meet(sex,age,job):
#     print("左划")
#     print("右划")
#     print(f'寻找性别{sex}，年龄{age}，工作{job}')
#     print('约吗')
#     print('约')
#     print('开房走着')
# meet('变态男','46-78',job='僵尸扮演者')   #只能再最后面

#  形参角度：
#       1.位置参数，和实参角度的位置参数是一样的。
# def meet(sex,age,job):
#     print("左划")
#     print("右划")
#     print(f'寻找性别{sex}，年龄{age}，工作{job}')
#     print('约吗')
#     print('约')
#     print('开房走着')
# meet('变态男','46-78','僵尸扮演者')

#       2.默认参数：一定在位置参数后面，不传参数就算是默认的参数。
# def meet(age,job,sex='女'):
#     print("左划")
#     print("右划")
#     print(f'寻找性别{sex}，年龄{age}，工作{job}')
#     print('约吗')
#     print('约')
#     print('开房走着')
# meet('46-78','僵尸扮演者')